package com.fowo.api.model.sales.withdraw.product;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 销售退货单子表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class SalesWithdrawProductImportPo {

  /** 平台单号 */
  @ExcelProperty("平台单号")
  @Size(max = 50, message = "平台单号长度不能超过50")
  private String platformOrderNo;

  /** 商品信息 */
  @ExcelProperty("商品信息")
  @Size(max = 50, message = "商品信息长度不能超过50")
  private String productInfo;

  /** 品名 */
  @ExcelProperty("品名")
  @Size(max = 500, message = "品名长度不能超过500")
  private String productNameName;

  @ExcelIgnore
  @Schema(title = "品名")
  private String productName;

  /** SKU */
  @ExcelProperty("SKU")
  @Size(max = 50, message = "SKU长度不能超过50")
  private String sku;

  /** 订购时间 */
  @ExcelProperty("订购时间")
  @DateTimeString(message = "订购时间不是有效的时间日期格式")
  private String orderTime;

  /** 退货数量 */
  @ExcelProperty("退货数量")
  @IntegerString(message = "退货数量数值格式不正确", label = "退货数量")
  private String returnQuantity;

  /** 收货量 */
  @ExcelProperty("收货量")
  @IntegerString(message = "收货量数值格式不正确", label = "收货量")
  private String receivingQuantity;

  /** 售后图片 */
  @ExcelProperty("售后图片")
  @Size(max = 50, message = "售后图片长度不能超过50")
  private String salesImg;

  /** 处理方式 */
  @ExcelProperty("处理方式")
  @Size(max = 255, message = "处理方式长度不能超过255")
  private String handlerType;

  /** 售后说明 */
  @ExcelProperty("售后说明")
  @Size(max = 50, message = "售后说明长度不能超过50")
  private String remark;

  /** 数量 */
  @ExcelProperty("数量")
  @IntegerString(message = "数量数值格式不正确", label = "数量")
  private String quantity;

  /** 销毁量 */
  @ExcelProperty("销毁量")
  @IntegerString(message = "销毁量数值格式不正确", label = "销毁量")
  private String destroyedQuantity;

  /** 次品量 */
  @ExcelProperty("次品量")
  @IntegerString(message = "次品量数值格式不正确", label = "次品量")
  private String defectiveQuantity;

  /** 可用量 */
  @ExcelProperty("可用量")
  @IntegerString(message = "可用量数值格式不正确", label = "可用量")
  private String availableQuantity;

  /** 所属销售退货单 */
  @ExcelProperty("所属销售退货单")
  @Size(max = 50, message = "所属销售退货单长度不能超过50")
  private String parentSalesWithdrawGlobalOrderNo;

  @ExcelIgnore
  @Schema(title = "所属销售退货单")
  private String parentSalesWithdraw;

  /** 产品id */
  @ExcelProperty("产品id")
  @LongString(message = "产品id数值格式不正确", label = "产品id")
  private String pid;

  /** 单位出库成本 */
  @ExcelProperty("单位出库成本")
  @DecimalString(message = "单位出库成本小数格式不正确", label = "单位出库成本")
  private String outboundCost;

  /** 可用仓位 */
  @ExcelProperty("可用仓位")
  private String availableWbin;

  /** 次品仓位 */
  @ExcelProperty("次品仓位")
  private String defectiveWbin;
}
